static int __init
intel_tiger_console_setup(void)
{
- extern struct ns16550_defaults ns16550_com1, ns16550_com2;
+ extern struct ns16550_defaults ns16550_com1;
efi_system_table_t *systab;
efi_config_table_t *tables;
struct acpi20_table_rsdp *rsdp = NULL;
if (strncmp(hdr->signature, XSDT_SIG, sizeof(XSDT_SIG) - 1))
return -ENODEV;
- /* Only looking for Intel systems */
- if (strncmp(hdr->oem_id, "INTEL", 5))
+ /*
+ * Only looking for Intel Tiger systems
+ * Tiger 2: SR870BH2
+ * Tiger 4: SR870BN4
+ */
+ if (strncmp(hdr->oem_id, "INTEL", 5) ||
+ (!strncmp(hdr->oem_table_id, "SR870BH2", 8) &&
+ !strncmp(hdr->oem_table_id, "SR870BN4", 8)))
return -ENODEV;
- if (!strncmp(hdr->oem_table_id, "SR870BH2", 8)) {
- /* Tiger 2 */
- ns16550_com1.baud = BAUD_AUTO;
- ns16550_com1.io_base = 0x3f8;
- ns16550_com1.irq = 4;
-
- ns16550_com2.baud = BAUD_AUTO;
- ns16550_com2.io_base = 0x2f8;
- ns16550_com2.irq = 3;
-
- return 0;
-
- } else if (!strncmp(hdr->oem_table_id, "SR870BN4", 8)) {
- /* Tiger 4 */
- ns16550_com1.baud = BAUD_AUTO;
- ns16550_com1.io_base = 0x2f8;
- ns16550_com1.irq = 3;
-
- return 0;
- }
+ ns16550_com1.baud = BAUD_AUTO;
+ ns16550_com1.io_base = 0x2f8;
+ ns16550_com1.irq = 3;
- return -ENODEV;
+ return 0;
}
#endif